Pointeur : SUPER
le SUPER pointeur est une variable spéciale utilisée pour la programmation orientée objet.
SUPER est le pointeur d'un bloc fonction vers l'instance de bloc fonction de base à partir de laquelle le bloc fonction a été généré. le SUPER pointeur permet également d'accéder à l'implémentation des méthodes du bloc fonction de base (classe de base). UNE SUPER pointeur est automatiquement disponible pour chaque bloc fonction. Vous pouvez utiliser SUPER uniquement dans les méthodes et dans les implémentations des blocs fonctionnels associés.
Déréférencement du pointeur : SUPER^
En utilisant le SUPER pointeur : avec le SUPER mot-clé, vous appelez une méthode qui est valide dans l'instance de la classe de base ou de la classe parent.
ST
SUPER^.METH_DoIt();
FBD/CFC/LD

Utilisation de SUPER et THIS pointeurs
FUNCTION_BLOCK FB_Base
VAR_OUTPUT
        iCnt : INT;
END_VAR
METHOD METH_DoIt : BOOL
iCnt := -1;
METHOD METH_DoAlso : BOOL
METH_DoAlso := TRUE;
FUNCTION_BLOCK FB_1 EXTENDS FB_Base
VAR_OUTPUT
        iBase : INT;
END_VAR
THIS^.METH_DoIt();  //Call of the methods of FB_1
THIS^.METH_DoAlso();
SUPER^.METH_DoIt();   //Call of the methods of FB_Base
SUPER^.METH_DoAlso();
iBase := SUPER^.iCnt;
METHOD METH_DoIt : BOOL
iCnt := 1111;
METH_DoIt := TRUE;
PROGRAM PLC_PRG
VAR
    myBase : FB_Base;
    myFB_1 : FB_1;
    iTHIS : INT;
    iBase : INT;
END_VAR
myBase();
iBase := myBase.iCnt;
myFB_1();
iTHIS := myFB_1.iCnt;Astuce
THIS n'est pas encore implémenté pour la liste d'instructions (IL).